{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "24d6665f-27cc-494d-ab94-7aa67a83a726",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn.model_selection import train_test_split"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "83ff11c0-26ac-411e-ac14-f62ecf2f8b9c",
   "metadata": {},
   "outputs": [],
   "source": [
    "def ReadInData(file):\n",
    "    path = ''\n",
    "    return pd.read_csv(path + file)\n",
    "\n",
    "df_holidays_events = ReadInData('holidays_events.csv')\n",
    "df_oil = ReadInData('oil.csv')\n",
    "df_stores = ReadInData('stores.csv')\n",
    "df_train = ReadInData('train.csv')\n",
    "df_test = ReadInData(\"test.csv\")\n",
    "df_transactions = ReadInData('transactions.csv')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "a4ce5635-84d6-4148-92cf-039fb2883811",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>dcoilwtico</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2013-01-01</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2013-01-02</td>\n",
       "      <td>93.14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2013-01-03</td>\n",
       "      <td>92.97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2013-01-04</td>\n",
       "      <td>93.12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2013-01-07</td>\n",
       "      <td>93.20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1213</th>\n",
       "      <td>2017-08-25</td>\n",
       "      <td>47.65</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1214</th>\n",
       "      <td>2017-08-28</td>\n",
       "      <td>46.40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1215</th>\n",
       "      <td>2017-08-29</td>\n",
       "      <td>46.46</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1216</th>\n",
       "      <td>2017-08-30</td>\n",
       "      <td>45.96</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1217</th>\n",
       "      <td>2017-08-31</td>\n",
       "      <td>47.26</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1218 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "            date  dcoilwtico\n",
       "0     2013-01-01         NaN\n",
       "1     2013-01-02       93.14\n",
       "2     2013-01-03       92.97\n",
       "3     2013-01-04       93.12\n",
       "4     2013-01-07       93.20\n",
       "...          ...         ...\n",
       "1213  2017-08-25       47.65\n",
       "1214  2017-08-28       46.40\n",
       "1215  2017-08-29       46.46\n",
       "1216  2017-08-30       45.96\n",
       "1217  2017-08-31       47.26\n",
       "\n",
       "[1218 rows x 2 columns]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_oil"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "97573cbd-42f2-4383-a358-47b717f1912b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def DrawLine(X_data, Y_data):\n",
    "    fig = plt.figure()\n",
    "    axes = fig.add_subplot(1, 1, 1)\n",
    "    axes.plot(X_data, Y_data)\n",
    "    plt.show()\n",
    "DrawLine(df_oil['date'], df_oil['dcoilwtico'])\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "cec04d4f-a5c2-4827-9dc0-802b3393cccd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "df_oil_withoutNA = df_oil.bfill()\n",
    "DrawLine(df_oil_withoutNA['date'], df_oil_withoutNA['dcoilwtico'])\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "02100c25-541a-44f1-8fe9-d51f753a7510",
   "metadata": {},
   "outputs": [],
   "source": [
    "def Add_Feature():\n",
    "    df_holidays_events.rename(columns={'date': 'date',\n",
    "                                       'type': 'Daily_holiday_type',\n",
    "                                       'locale': 'Daily_holiday_locale',\n",
    "                                       'locale_name': 'Daily_holiday_locale_name',\n",
    "                                       'description': \"Daily_holiday_description\",\n",
    "                                       'transferred': \"Daily_holiday_transferred\"},\n",
    "                              inplace=True)\n",
    "    df_stores.rename(columns={'store_nbr': 'store_nbr',\n",
    "                              'city': 'stores_city',\n",
    "                              'state': 'store_state',\n",
    "                              'type': 'store_type',\n",
    "                              'cluster': 'store_cluster'},\n",
    "                     inplace=True)\n",
    "    df_transactions.rename(columns={'transactions': 'Daily_transactions'})\n",
    "    DfTrainNew = pd.merge(df_train, df_holidays_events, how='left', left_on='date', right_on='date')\n",
    "    DfTestNew = pd.merge(df_test, df_holidays_events, how='left', left_on='date', right_on='date')\n",
    "    DfTrainNew = pd.merge(DfTrainNew, df_oil_withoutNA, how='left', left_on='date', right_on='date')\n",
    "    DfTestNew = pd.merge(DfTestNew, df_oil_withoutNA, how='left', left_on='date', right_on='date')\n",
    "    DfTrainNew = pd.merge(DfTrainNew, df_stores, how='left', left_on='store_nbr', right_on='store_nbr')\n",
    "    DfTestNew = pd.merge(DfTestNew, df_stores, how='left', left_on='store_nbr', right_on='store_nbr')\n",
    "    DfTrainNew = pd.merge(DfTrainNew, df_transactions, how='left', on=['date', 'store_nbr'])\n",
    "    DfTestNew = pd.merge(DfTestNew, df_transactions, how='left', on=['date', 'store_nbr'])\n",
    "    return DfTrainNew, DfTestNew\n",
    "\n",
    "\n",
    "res = Add_Feature()\n",
    "df_train_New = res[0]\n",
    "df_test_New = res[1]\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "4e2a654f-9b29-4af1-b053-06e453e0acc7",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "df_train_New:>>>>>>\n",
      "length:3054348\n",
      "Name:id Rate:100.0%\n",
      "Name:date Rate:100.0%\n",
      "Name:store_nbr Rate:100.0%\n",
      "Name:family Rate:100.0%\n",
      "Name:sales Rate:100.0%\n",
      "Name:onpromotion Rate:100.0%\n",
      "Name:Daily_holiday_type Rate:16.45274212368728%\n",
      "Name:Daily_holiday_locale Rate:16.45274212368728%\n",
      "Name:Daily_holiday_locale_name Rate:16.45274212368728%\n",
      "Name:Daily_holiday_description Rate:16.45274212368728%\n",
      "Name:Daily_holiday_transferred Rate:16.45274212368728%\n",
      "Name:dcoilwtico Rate:71.23687281213536%\n",
      "Name:stores_city Rate:100.0%\n",
      "Name:store_state Rate:100.0%\n",
      "Name:store_type Rate:100.0%\n",
      "Name:store_cluster Rate:100.0%\n",
      "Name:transactions Rate:91.84385669216475%\n",
      "df_test_New:>>>>>>\n",
      "length:28512\n",
      "Name:id Rate:100.0%\n",
      "Name:date Rate:100.0%\n",
      "Name:store_nbr Rate:100.0%\n",
      "Name:family Rate:100.0%\n",
      "Name:onpromotion Rate:100.0%\n",
      "Name:Daily_holiday_type Rate:6.25%\n",
      "Name:Daily_holiday_locale Rate:6.25%\n",
      "Name:Daily_holiday_locale_name Rate:6.25%\n",
      "Name:Daily_holiday_description Rate:6.25%\n",
      "Name:Daily_holiday_transferred Rate:6.25%\n",
      "Name:dcoilwtico Rate:75.0%\n",
      "Name:stores_city Rate:100.0%\n",
      "Name:store_state Rate:100.0%\n",
      "Name:store_type Rate:100.0%\n",
      "Name:store_cluster Rate:100.0%\n",
      "Name:transactions Rate:0.0%\n",
      "df_test:>>>>>>\n",
      "length:28512\n",
      "Name:id Rate:100.0%\n",
      "Name:date Rate:100.0%\n",
      "Name:store_nbr Rate:100.0%\n",
      "Name:family Rate:100.0%\n",
      "Name:onpromotion Rate:100.0%\n"
     ]
    }
   ],
   "source": [
    "def LookIn(DF_In):\n",
    "    print(\"length:{}\".format(len(DF_In)))\n",
    "    for i in DF_In.columns:\n",
    "        a = DF_In[i].describe()\n",
    "        print(\"Name:{} Rate:{}%\".format(i, 100 * a['count'] / len(DF_In[i])))\n",
    "\n",
    "\n",
    "print(\"df_train_New:>>>>>>\")\n",
    "LookIn(df_train_New)\n",
    "print(\"df_test_New:>>>>>>\")\n",
    "LookIn(df_test_New)\n",
    "print(\"df_test:>>>>>>\")\n",
    "LookIn(df_test)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "793e6eea-f4d8-489c-abcd-3fb2fe4266b9",
   "metadata": {},
   "outputs": [],
   "source": [
    "df_train_New.drop_duplicates(subset='id', keep='first', inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "2c0992b5-9f43-40b2-95a6-3de1d91a26be",
   "metadata": {},
   "outputs": [],
   "source": [
    "df_train_New.dropna(axis=0, inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e1833963-054c-4bda-a9a4-3cb9b7d570a6",
   "metadata": {},
   "outputs": [],
   "source": [
    "def PreWork():\n",
    "    df_train_New.dropna(axis=0, inplace=True)\n",
    "    df_train_New.drop_duplicates(subset='id', keep='first', inplace=True)\n",
    "    df_train_New['date'] = df_train_New['date'].apply(lambda X: int(str(X).split('-')[0] +\n",
    "                                                                    str(X).split('-')[1] +\n",
    "                                                                    str(X).split('-')[2]))\n",
    "    df_train_New['family'] = pd.factorize(df_train_New['family'])[0].astype(int)\n",
    "    df_train_New['Daily_holiday_type'] = pd.factorize(df_train_New['Daily_holiday_type'])[0].astype(int)\n",
    "    df_train_New['Daily_holiday_locale'] = pd.factorize(df_train_New['Daily_holiday_locale'])[0].astype(int)\n",
    "    df_train_New['Daily_holiday_locale_name'] = pd.factorize(df_train_New['Daily_holiday_locale_name'])[0].astype(int)\n",
    "    df_train_New['Daily_holiday_description'] = pd.factorize(df_train_New['Daily_holiday_description'])[0].astype(int)\n",
    "    df_train_New['Daily_holiday_transferred'] = pd.factorize(df_train_New['Daily_holiday_transferred'])[0].astype(int)\n",
    "    df_train_New['stores_city'] = pd.factorize(df_train_New['stores_city'])[0].astype(int)\n",
    "    df_train_New['store_state'] = pd.factorize(df_train_New['store_state'])[0].astype(int)\n",
    "    df_train_New['store_type'] = pd.factorize(df_train_New['store_type'])[0].astype(int)\n",
    "\n",
    "\n",
    "PreWork()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2b951d2d-f26f-46ee-8668-91a53a471d5d",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.ensemble import RandomForestRegressor\n",
    "def BuildDecisionTree(x_F, Y_F, DataLog):\n",
    "    x_ = DataLog[x_F]\n",
    "    Y_ = DataLog[Y_F]\n",
    "    model = DecisionTreeRegressor(random_state=1, max_depth=100)\n",
    "    a_x, b_x, a_y, b_y = train_test_split(x_, Y_, random_state=1)\n",
    "    model.fit(a_x, a_y)\n",
    "    predictions = model.predict(b_x)\n",
    "    delta = mean_absolute_error(b_y, predictions)\n",
    "    print(\"DecisionTree:mean_absolute_error delta:{}\".format(delta))\n",
    "\n",
    "\n",
    "def BuildRandomForest(x_F, Y_F, DataLog):\n",
    "    x_ = DataLog[x_F]\n",
    "    Y_ = DataLog[Y_F]\n",
    "    model = RandomForestRegressor(random_state=1, max_depth=100)\n",
    "    a_x, b_x, a_y, b_y = train_test_split(x_, Y_, random_state=1)\n",
    "    model.fit(a_x, a_y)\n",
    "    predictions = model.predict(b_x)\n",
    "    delta = mean_absolute_error(b_y, predictions)\n",
    "    print(\"RandomForest:mean_absolute_error delta:{}\".format(delta))\n",
    "\n",
    "X_Feature = ['id', 'date', 'store_nbr', 'family', 'onpromotion',\n",
    "             'Daily_holiday_type', 'Daily_holiday_locale',\n",
    "             'Daily_holiday_locale_name', 'Daily_holiday_description',\n",
    "             'Daily_holiday_transferred', 'dcoilwtico', 'stores_city', 'store_state',\n",
    "             'store_type', 'store_cluster', 'transactions']\n",
    "Y_Feature = 'sales'\n",
    "BuildRandomForest(X_Feature, Y_Feature, df_train_New)\n",
    "BuildDecisionTree(X_Feature, Y_Feature, df_train_New)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a91ae1cf-0cb4-467d-a5d0-4b4cdb06ca8a",
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "def Forecast():\n",
    "    model = RandomForestRegressor(random_state=1, max_depth=100)\n",
    "    model.fit(df_train_New[X_Feature], df_train_New[Y_Feature])\n",
    "    Aim = df_test_New[X_Feature]\n",
    "    predictions = model.predict(Aim)\n",
    "    res = pd.DataFrame(predictions)\n",
    "    path = \"RFsubmission.csv\"\n",
    "    res.to_csv(path)\n",
    "\n",
    "\n",
    "Forecast()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2489f7f7-c939-410e-add3-dd7df9595466",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
